The present invention relates to network analysis, and more particularly to analyzing Voice over Internet Protocol (VoIP) calls.
Voice signals are transmitted over a packet network by first formatting the voice signal data stream into multiple discrete packets. In a Voice Over Internet Protocol (VoIP) call, an originating voice gateway quantizes an input audio stream into packets that are placed onto a packet network and routed to a destination voice gateway. The destination voice gateway decodes the packets back into a continuous digital audio stream that resembles the input audio stream. As an option, a compression or decompression algorithm may be used on the quantized digital audio stream to reduce the communication bandwidth required for transmitting the audio packets over the network.
Similar to conventional Internet Protocol, VoIP includes a plurality of layers. Prior Art FIG. 1 illustrates a plurality of exemplary well known layers 10 associated with VoIP. As shown, such layers include at least one application layer 12 and a plurality of session layers 14 positioned below the application layer 12. While not shown, at least one connection layer may be positioned below the session layer. By way of example, the application layer 12 may include H.323. H.323 is a standard approved by the International Telecommunication Union (ITU) in 1996 to promote compatibility in videoconference transmissions over IP networks. Further included as session layers are H.225.0, H.245, real-time transport protocol (RTP), and real-time transport control protocol (RTCP). It should be noted that VoIP calls can employ various protocols for communication purposes.
The Quality of Service (QoS) of VoIP calls can degrade due to congestion on the packet network or failure of network processing nodes in the packet network. Quality of service can include anything from call sound quality to the ability and responsiveness of the VoIP network in establishing new VoIP calls. IP network reliability has not been proven to be in the same class as a traditional switched Public Services Telephone Network (PSTN).
Due to a need to understand, troubleshoot and optimize a particular network to improve VoIP calls, there is an on-going desire for traditional network assessment tools to be tailored to monitor network parameters specific to VoIP calls. Network assessment tools referred to as xe2x80x9canalyzersxe2x80x9d are often relied upon to analyze networks communications at a plurality of layers. One example of such analyzers is the SNIFFER ANALYZER(trademark) device manufactured by NETWORK ASSOCIATES, INC(trademark). Analyzers have similar objectives such as determining why network performance is slow, understanding the specifics about excessive traffic, and/or gaining visibility into various parts of the network.
As mentioned earlier, network analyzers collect information at a plurality of layers. Each set of layer-specific data is conventionally stored in a buffer xe2x80x9cobjectxe2x80x9d by the network analyzer. In particular, a session object, an application object, etc. are each used to store network traffic information at session and application layers, respectively. With the number of such objects growing proportionally with the overall network usage, there is a growing need to organize the objects for monitoring, reporting and analysis purposes.
Non-voice-protocol-enabled network analyzers have often initialized a hierarchical tree representation for organizing objects for improved monitoring, reporting and analysis. In other words, session objects are organized under a single application object, and so on. Unfortunately, no effort has made thus far to apply such tree representation to the voice protocol domain.
There is thus a need for a tree representation tailored for voice protocols for improving VoIP call monitoring, reporting and analysis.
Further, each network layer in traditional network analyzers has an object threshold (i.e. default 1000). When this threshold is reached, no more objects can be created for that layer. Therefore, one of the existing objects must be recycled. In order to choose an appropriate object to be recycled, traditional network analyzers choose an object that was not created less than x seconds ago (where x is statistically defined). In other words, as long as an object isn""t relatively new, it is a candidate for recycling.
Traditionally when an object is recycled, traditional network analyzers walk up the tree representation and recycle all the higher layer objects until a top layer is reached. This way, there are no orphaned objects at the top of the tree (i.e. an application layer without an associated session layer, etc.). Unfortunately, this conventional technique results in the loss of all session objects along with the associated application object when one session object is recycled. This loss of network data can be undesirable when such other recycled objects may contain information still of interest, especially in the context of VoIP calls where such recycled objects may relate to an active call still of interest.
There is thus a need for an object recycling technique that does not recycle objects that may still be of interest during analysis during a voice application call.
A system, method and computer program product are provided for organizing objects associated with a voice application call in a tree representation. Initially, a voice application call is identified. Next, a plurality of connection objects is generated associated with the voice application call. Further, a plurality of session objects associated with the voice application call is identified, along with a plurality of application objects associated with the voice application call. In use, the connection objects, the session objects, and the application objects are organized in a tree representation.
In one embodiment, the voice application call may be carried out utilizing a voice protocol. Such voice protocol may include Voice over Internet Protocol (VoIP).
In another embodiment, the application objects may include, but are not limited to H.323 application objects, H.248 application objects, session initiation protocol (SIP) application objects, and/or skinny client control protocol (SCCP) application objects.
In still another embodiment, the session objects may include, but are not limited to H.225.0 session objects, H.245 session objects, real-time transport protocol (RTP) session objects, and/or real-time transport control protocol (RTCP) session objects.
In still yet another embodiment, the connection objects may include, but are not limited to transmission control protocol (TCP) connection objects, and/or user datagram protocol (UDP) connection objects.
As an option, the tree representation may be displayed as a file directory including a plurality of directories and files. In use, the objects may be accessed by selecting the directories and files. Further, information relating to the objects may be reported upon the selection thereof.
As such, a plurality of nodes is provided each representing a flow associated with a particular protocol, wherein flow statistics are updated in real-time.
Another system, method and computer program product are provided for recycling voice application objects. In use, it is determined whether a voice application call is active. Next, application objects and session objects associated with the voice application call are marked as active until it being determined that the voice application call is inactive. As such, the recycling of application objects and session objects marked as active are prevented.